/*
 * Copyright 2014 Mike Penz
 * Copyright 2015 Haruki Hasegawa
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.mikepenz.community_material_typeface_library;

import android.content.Context;
import android.graphics.Typeface;

import com.mikepenz.iconics.typeface.IIcon;
import com.mikepenz.iconics.typeface.ITypeface;

import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;

public class CommunityMaterial implements ITypeface {
    private static final String TTF_FILE = "communitymaterial-font-v1.5.54.ttf";

    private static Typeface typeface = null;

    private static HashMap<String, Character> mChars;

    @Override
    public IIcon getIcon(String key) {
        return Icon.valueOf(key);
    }

    @Override
    public HashMap<String, Character> getCharacters() {
        if (mChars == null) {
            HashMap<String, Character> aChars = new HashMap<String, Character>();
            for (Icon v : Icon.values()) {
                aChars.put(v.name(),
                        v.character);
            }
            mChars = aChars;
        }

        return mChars;
    }

    @Override
    public String getMappingPrefix() {
        return "cmd";
    }

    @Override
    public String getFontName() {
        return "Community Material Design";
    }

    @Override
    public String getVersion() {
        return "1.5.54";
    }

    @Override
    public int getIconCount() {
        return mChars.size();
    }

    @Override
    public Collection<String> getIcons() {
        Collection<String> icons = new LinkedList<String>();

        for (Icon value : Icon.values()) {
            icons.add(value.name());
        }

        return icons;
    }

    @Override
    public String getAuthor() {
        return "Templarian / Community / Google";
    }

    @Override
    public String getUrl() {
        return "http://materialdesignicons.com/";
    }

    @Override
    public String getDescription() {
        return "Material Design Icons are the official open-source icons featured in the Google Material Design specification.";
    }

    @Override
    public String getLicense() {
        return "Templates - Free, Community Icons - SIL Open Font License 1.1, Google Material Design Icons: Attribution 4.0 International";
    }

    @Override
    public String getLicenseUrl() {
        return "https://raw.githubusercontent.com/Templarian/MaterialDesign/master/license.txt";
    }

    @Override
    public Typeface getTypeface(Context context) {
        if (typeface == null) {
            try {
                typeface = Typeface.createFromAsset(context.getAssets(),
                        "fonts/" + TTF_FILE);
            } catch (Exception e) {
                return null;
            }
        }
        return typeface;
    }

    public enum Icon implements IIcon {
        // Material design icons (v1.5.54)
        cmd_access_point('\uF002'),
        cmd_access_point_network('\uF003'),
        cmd_account('\uF004'),
        cmd_account_alert('\uF005'),
        cmd_account_box('\uF006'),
        cmd_account_box_outline('\uF007'),
        cmd_account_card_details('\uF5D2'),
        cmd_account_check('\uF008'),
        cmd_account_circle('\uF009'),
        cmd_account_convert('\uF00A'),
        cmd_account_key('\uF00B'),
        cmd_account_location('\uF00C'),
        cmd_account_minus('\uF00D'),
        cmd_account_multiple('\uF00E'),
        cmd_account_multiple_minus('\uF5D3'),
        cmd_account_multiple_outline('\uF00F'),
        cmd_account_multiple_plus('\uF010'),
        cmd_account_network('\uF011'),
        cmd_account_off('\uF012'),
        cmd_account_outline('\uF013'),
        cmd_account_plus('\uF014'),
        cmd_account_remove('\uF015'),
        cmd_account_search('\uF016'),
        cmd_account_star('\uF017'),
        cmd_account_star_variant('\uF018'),
        cmd_account_switch('\uF019'),
        cmd_adjust('\uF01A'),
        cmd_air_conditioner('\uF01B'),
        cmd_airballoon('\uF01C'),
        cmd_airplane('\uF01D'),
        cmd_airplane_landing('\uF5D4'),
        cmd_airplane_off('\uF01E'),
        cmd_airplane_takeoff('\uF5D5'),
        cmd_airplay('\uF01F'),
        cmd_alarm('\uF020'),
        cmd_alarm_check('\uF021'),
        cmd_alarm_multiple('\uF022'),
        cmd_alarm_off('\uF023'),
        cmd_alarm_plus('\uF024'),
        cmd_album('\uF025'),
        cmd_alert('\uF026'),
        cmd_alert_box('\uF027'),
        cmd_alert_circle('\uF028'),
        cmd_alert_circle_outline('\uF5D6'),
        cmd_alert_octagon('\uF029'),
        cmd_alert_outline('\uF02A'),
        cmd_alpha('\uF02B'),
        cmd_alphabetical('\uF02C'),
        cmd_altimeter('\uF5D7'),
        cmd_amazon('\uF02D'),
        cmd_amazon_clouddrive('\uF02E'),
        cmd_ambulance('\uF02F'),
        cmd_amplifier('\uF030'),
        cmd_anchor('\uF031'),
        cmd_android('\uF032'),
        cmd_android_debug_bridge('\uF033'),
        cmd_android_studio('\uF034'),
        cmd_animation('\uF5D8'),
        cmd_apple('\uF035'),
        cmd_apple_finder('\uF036'),
        cmd_apple_ios('\uF037'),
        cmd_apple_mobileme('\uF038'),
        cmd_apple_safari('\uF039'),
        cmd_appnet('\uF03A'),
        cmd_apps('\uF03B'),
        cmd_archive('\uF03C'),
        cmd_arrange_bring_forward('\uF03D'),
        cmd_arrange_bring_to_front('\uF03E'),
        cmd_arrange_send_backward('\uF03F'),
        cmd_arrange_send_to_back('\uF040'),
        cmd_arrow_all('\uF041'),
        cmd_arrow_bottom_left('\uF042'),
        cmd_arrow_bottom_right('\uF043'),
        cmd_arrow_collapse('\uF044'),
        cmd_arrow_down('\uF045'),
        cmd_arrow_down_bold('\uF046'),
        cmd_arrow_down_bold_circle('\uF047'),
        cmd_arrow_down_bold_circle_outline('\uF048'),
        cmd_arrow_down_bold_hexagon_outline('\uF049'),
        cmd_arrow_down_drop_circle('\uF04A'),
        cmd_arrow_down_drop_circle_outline('\uF04B'),
        cmd_arrow_expand('\uF04C'),
        cmd_arrow_left('\uF04D'),
        cmd_arrow_left_bold('\uF04E'),
        cmd_arrow_left_bold_circle('\uF04F'),
        cmd_arrow_left_bold_circle_outline('\uF050'),
        cmd_arrow_left_bold_hexagon_outline('\uF051'),
        cmd_arrow_left_drop_circle('\uF052'),
        cmd_arrow_left_drop_circle_outline('\uF053'),
        cmd_arrow_right('\uF054'),
        cmd_arrow_right_bold('\uF055'),
        cmd_arrow_right_bold_circle('\uF056'),
        cmd_arrow_right_bold_circle_outline('\uF057'),
        cmd_arrow_right_bold_hexagon_outline('\uF058'),
        cmd_arrow_right_drop_circle('\uF059'),
        cmd_arrow_right_drop_circle_outline('\uF05A'),
        cmd_arrow_top_left('\uF05B'),
        cmd_arrow_top_right('\uF05C'),
        cmd_arrow_up('\uF05D'),
        cmd_arrow_up_bold('\uF05E'),
        cmd_arrow_up_bold_circle('\uF05F'),
        cmd_arrow_up_bold_circle_outline('\uF060'),
        cmd_arrow_up_bold_hexagon_outline('\uF061'),
        cmd_arrow_up_drop_circle('\uF062'),
        cmd_arrow_up_drop_circle_outline('\uF063'),
        cmd_assistant('\uF064'),
        cmd_at('\uF065'),
        cmd_attachment('\uF066'),
        cmd_audiobook('\uF067'),
        cmd_auto_fix('\uF068'),
        cmd_auto_upload('\uF069'),
        cmd_autorenew('\uF06A'),
        cmd_av_timer('\uF06B'),
        cmd_baby('\uF06C'),
        cmd_backburger('\uF06D'),
        cmd_backspace('\uF06E'),
        cmd_backup_restore('\uF06F'),
        cmd_bank('\uF070'),
        cmd_barcode('\uF071'),
        cmd_barcode_scan('\uF072'),
        cmd_barley('\uF073'),
        cmd_barrel('\uF074'),
        cmd_basecamp('\uF075'),
        cmd_basket('\uF076'),
        cmd_basket_fill('\uF077'),
        cmd_basket_unfill('\uF078'),
        cmd_battery('\uF079'),
        cmd_battery_10('\uF07A'),
        cmd_battery_20('\uF07B'),
        cmd_battery_30('\uF07C'),
        cmd_battery_40('\uF07D'),
        cmd_battery_50('\uF07E'),
        cmd_battery_60('\uF07F'),
        cmd_battery_70('\uF080'),
        cmd_battery_80('\uF081'),
        cmd_battery_90('\uF082'),
        cmd_battery_alert('\uF083'),
        cmd_battery_charging('\uF084'),
        cmd_battery_charging_100('\uF085'),
        cmd_battery_charging_20('\uF086'),
        cmd_battery_charging_30('\uF087'),
        cmd_battery_charging_40('\uF088'),
        cmd_battery_charging_60('\uF089'),
        cmd_battery_charging_80('\uF08A'),
        cmd_battery_charging_90('\uF08B'),
        cmd_battery_minus('\uF08C'),
        cmd_battery_negative('\uF08D'),
        cmd_battery_outline('\uF08E'),
        cmd_battery_plus('\uF08F'),
        cmd_battery_positive('\uF090'),
        cmd_battery_unknown('\uF091'),
        cmd_beach('\uF092'),
        cmd_beats('\uF097'),
        cmd_beer('\uF098'),
        cmd_behance('\uF099'),
        cmd_bell('\uF09A'),
        cmd_bell_off('\uF09B'),
        cmd_bell_outline('\uF09C'),
        cmd_bell_plus('\uF09D'),
        cmd_bell_ring('\uF09E'),
        cmd_bell_ring_outline('\uF09F'),
        cmd_bell_sleep('\uF0A0'),
        cmd_beta('\uF0A1'),
        cmd_bible('\uF0A2'),
        cmd_bike('\uF0A3'),
        cmd_bing('\uF0A4'),
        cmd_binoculars('\uF0A5'),
        cmd_bio('\uF0A6'),
        cmd_biohazard('\uF0A7'),
        cmd_bitbucket('\uF0A8'),
        cmd_black_mesa('\uF0A9'),
        cmd_blackberry('\uF0AA'),
        cmd_blender('\uF0AB'),
        cmd_blinds('\uF0AC'),
        cmd_block_helper('\uF0AD'),
        cmd_blogger('\uF0AE'),
        cmd_bluetooth('\uF0AF'),
        cmd_bluetooth_audio('\uF0B0'),
        cmd_bluetooth_connect('\uF0B1'),
        cmd_bluetooth_off('\uF0B2'),
        cmd_bluetooth_settings('\uF0B3'),
        cmd_bluetooth_transfer('\uF0B4'),
        cmd_blur('\uF0B5'),
        cmd_blur_linear('\uF0B6'),
        cmd_blur_off('\uF0B7'),
        cmd_blur_radial('\uF0B8'),
        cmd_bone('\uF0B9'),
        cmd_book('\uF0BA'),
        cmd_book_minus('\uF5D9'),
        cmd_book_multiple('\uF0BB'),
        cmd_book_multiple_variant('\uF0BC'),
        cmd_book_open('\uF0BD'),
        cmd_book_open_page_variant('\uF5DA'),
        cmd_book_open_variant('\uF0BE'),
        cmd_book_plus('\uF5DB'),
        cmd_book_variant('\uF0BF'),
        cmd_bookmark('\uF0C0'),
        cmd_bookmark_check('\uF0C1'),
        cmd_bookmark_music('\uF0C2'),
        cmd_bookmark_outline('\uF0C3'),
        cmd_bookmark_plus('\uF0C5'),
        cmd_bookmark_plus_outline('\uF0C4'),
        cmd_bookmark_remove('\uF0C6'),
        cmd_boombox('\uF5DC'),
        cmd_border_all('\uF0C7'),
        cmd_border_bottom('\uF0C8'),
        cmd_border_color('\uF0C9'),
        cmd_border_horizontal('\uF0CA'),
        cmd_border_inside('\uF0CB'),
        cmd_border_left('\uF0CC'),
        cmd_border_none('\uF0CD'),
        cmd_border_outside('\uF0CE'),
        cmd_border_right('\uF0CF'),
        cmd_border_style('\uF0D0'),
        cmd_border_top('\uF0D1'),
        cmd_border_vertical('\uF0D2'),
        cmd_bowling('\uF0D3'),
        cmd_box('\uF0D4'),
        cmd_box_cutter('\uF0D5'),
        cmd_briefcase('\uF0D6'),
        cmd_briefcase_check('\uF0D7'),
        cmd_briefcase_download('\uF0D8'),
        cmd_briefcase_upload('\uF0D9'),
        cmd_brightness_1('\uF0DA'),
        cmd_brightness_2('\uF0DB'),
        cmd_brightness_3('\uF0DC'),
        cmd_brightness_4('\uF0DD'),
        cmd_brightness_5('\uF0DE'),
        cmd_brightness_6('\uF0DF'),
        cmd_brightness_7('\uF0E0'),
        cmd_brightness_auto('\uF0E1'),
        cmd_broom('\uF0E2'),
        cmd_brush('\uF0E3'),
        cmd_bug('\uF0E4'),
        cmd_bulletin_board('\uF0E5'),
        cmd_bullhorn('\uF0E6'),
        cmd_bullseye('\uF5DD'),
        cmd_burst_mode('\uF5DE'),
        cmd_bus('\uF0E7'),
        cmd_cached('\uF0E8'),
        cmd_cake('\uF0E9'),
        cmd_cake_layered('\uF0EA'),
        cmd_cake_variant('\uF0EB'),
        cmd_calculator('\uF0EC'),
        cmd_calendar('\uF0ED'),
        cmd_calendar_blank('\uF0EE'),
        cmd_calendar_check('\uF0EF'),
        cmd_calendar_clock('\uF0F0'),
        cmd_calendar_multiple('\uF0F1'),
        cmd_calendar_multiple_check('\uF0F2'),
        cmd_calendar_plus('\uF0F3'),
        cmd_calendar_remove('\uF0F4'),
        cmd_calendar_text('\uF0F5'),
        cmd_calendar_today('\uF0F6'),
        cmd_call_made('\uF0F7'),
        cmd_call_merge('\uF0F8'),
        cmd_call_missed('\uF0F9'),
        cmd_call_received('\uF0FA'),
        cmd_call_split('\uF0FB'),
        cmd_camcorder('\uF0FC'),
        cmd_camcorder_box('\uF0FD'),
        cmd_camcorder_box_off('\uF0FE'),
        cmd_camcorder_off('\uF0FF'),
        cmd_camera('\uF100'),
        cmd_camera_enhance('\uF101'),
        cmd_camera_front('\uF102'),
        cmd_camera_front_variant('\uF103'),
        cmd_camera_iris('\uF104'),
        cmd_camera_off('\uF5DF'),
        cmd_camera_party_mode('\uF105'),
        cmd_camera_rear('\uF106'),
        cmd_camera_rear_variant('\uF107'),
        cmd_camera_switch('\uF108'),
        cmd_camera_timer('\uF109'),
        cmd_candle('\uF5E2'),
        cmd_candycane('\uF10A'),
        cmd_car('\uF10B'),
        cmd_car_battery('\uF10C'),
        cmd_car_connected('\uF10D'),
        cmd_car_wash('\uF10E'),
        cmd_carrot('\uF10F'),
        cmd_cart('\uF110'),
        cmd_cart_outline('\uF111'),
        cmd_cart_plus('\uF112'),
        cmd_case_sensitive_alt('\uF113'),
        cmd_cash('\uF114'),
        cmd_cash_100('\uF115'),
        cmd_cash_multiple('\uF116'),
        cmd_cash_usd('\uF117'),
        cmd_cast('\uF118'),
        cmd_cast_connected('\uF119'),
        cmd_castle('\uF11A'),
        cmd_cat('\uF11B'),
        cmd_cellphone('\uF11C'),
        cmd_cellphone_android('\uF11D'),
        cmd_cellphone_basic('\uF11E'),
        cmd_cellphone_dock('\uF11F'),
        cmd_cellphone_iphone('\uF120'),
        cmd_cellphone_link('\uF121'),
        cmd_cellphone_link_off('\uF122'),
        cmd_cellphone_settings('\uF123'),
        cmd_certificate('\uF124'),
        cmd_chair_school('\uF125'),
        cmd_chart_arc('\uF126'),
        cmd_chart_areaspline('\uF127'),
        cmd_chart_bar('\uF128'),
        cmd_chart_bubble('\uF5E3'),
        cmd_chart_histogram('\uF129'),
        cmd_chart_line('\uF12A'),
        cmd_chart_pie('\uF12B'),
        cmd_check('\uF12C'),
        cmd_check_all('\uF12D'),
        cmd_check_circle('\uF5E0'),
        cmd_check_circle_outline('\uF5E1'),
        cmd_checkbox_blank('\uF12E'),
        cmd_checkbox_blank_circle('\uF12F'),
        cmd_checkbox_blank_circle_outline('\uF130'),
        cmd_checkbox_blank_outline('\uF131'),
        cmd_checkbox_marked('\uF132'),
        cmd_checkbox_marked_circle('\uF133'),
        cmd_checkbox_marked_circle_outline('\uF134'),
        cmd_checkbox_marked_outline('\uF135'),
        cmd_checkbox_multiple_blank('\uF136'),
        cmd_checkbox_multiple_blank_outline('\uF137'),
        cmd_checkbox_multiple_marked('\uF138'),
        cmd_checkbox_multiple_marked_outline('\uF139'),
        cmd_checkerboard('\uF13A'),
        cmd_chemical_weapon('\uF13B'),
        cmd_chevron_double_down('\uF13C'),
        cmd_chevron_double_left('\uF13D'),
        cmd_chevron_double_right('\uF13E'),
        cmd_chevron_double_up('\uF13F'),
        cmd_chevron_down('\uF140'),
        cmd_chevron_left('\uF141'),
        cmd_chevron_right('\uF142'),
        cmd_chevron_up('\uF143'),
        cmd_church('\uF144'),
        cmd_cisco_webex('\uF145'),
        cmd_city('\uF146'),
        cmd_clipboard('\uF147'),
        cmd_clipboard_account('\uF148'),
        cmd_clipboard_alert('\uF149'),
        cmd_clipboard_arrow_down('\uF14A'),
        cmd_clipboard_arrow_left('\uF14B'),
        cmd_clipboard_check('\uF14C'),
        cmd_clipboard_outline('\uF14D'),
        cmd_clipboard_text('\uF14E'),
        cmd_clippy('\uF14F'),
        cmd_clock('\uF150'),
        cmd_clock_alert('\uF5CE'),
        cmd_clock_end('\uF151'),
        cmd_clock_fast('\uF152'),
        cmd_clock_in('\uF153'),
        cmd_clock_out('\uF154'),
        cmd_clock_start('\uF155'),
        cmd_close('\uF156'),
        cmd_close_box('\uF157'),
        cmd_close_box_outline('\uF158'),
        cmd_close_circle('\uF159'),
        cmd_close_circle_outline('\uF15A'),
        cmd_close_network('\uF15B'),
        cmd_close_octagon('\uF15C'),
        cmd_close_octagon_outline('\uF15D'),
        cmd_closed_caption('\uF15E'),
        cmd_cloud('\uF15F'),
        cmd_cloud_check('\uF160'),
        cmd_cloud_circle('\uF161'),
        cmd_cloud_download('\uF162'),
        cmd_cloud_outline('\uF163'),
        cmd_cloud_outline_off('\uF164'),
        cmd_cloud_print('\uF165'),
        cmd_cloud_print_outline('\uF166'),
        cmd_cloud_upload('\uF167'),
        cmd_code_array('\uF168'),
        cmd_code_braces('\uF169'),
        cmd_code_brackets('\uF16A'),
        cmd_code_equal('\uF16B'),
        cmd_code_greater_than('\uF16C'),
        cmd_code_greater_than_or_equal('\uF16D'),
        cmd_code_less_than('\uF16E'),
        cmd_code_less_than_or_equal('\uF16F'),
        cmd_code_not_equal('\uF170'),
        cmd_code_not_equal_variant('\uF171'),
        cmd_code_parentheses('\uF172'),
        cmd_code_string('\uF173'),
        cmd_code_tags('\uF174'),
        cmd_codepen('\uF175'),
        cmd_coffee('\uF176'),
        cmd_coffee_to_go('\uF177'),
        cmd_coin('\uF178'),
        cmd_color_helper('\uF179'),
        cmd_comment('\uF17A'),
        cmd_comment_account('\uF17B'),
        cmd_comment_account_outline('\uF17C'),
        cmd_comment_alert('\uF17D'),
        cmd_comment_alert_outline('\uF17E'),
        cmd_comment_check('\uF17F'),
        cmd_comment_check_outline('\uF180'),
        cmd_comment_multiple_outline('\uF181'),
        cmd_comment_outline('\uF182'),
        cmd_comment_plus_outline('\uF183'),
        cmd_comment_processing('\uF184'),
        cmd_comment_processing_outline('\uF185'),
        cmd_comment_question_outline('\uF186'),
        cmd_comment_remove_outline('\uF187'),
        cmd_comment_text('\uF188'),
        cmd_comment_text_outline('\uF189'),
        cmd_compare('\uF18A'),
        cmd_compass('\uF18B'),
        cmd_compass_outline('\uF18C'),
        cmd_console('\uF18D'),
        cmd_contact_mail('\uF18E'),
        cmd_content_copy('\uF18F'),
        cmd_content_cut('\uF190'),
        cmd_content_duplicate('\uF191'),
        cmd_content_paste('\uF192'),
        cmd_content_save('\uF193'),
        cmd_content_save_all('\uF194'),
        cmd_contrast('\uF195'),
        cmd_contrast_box('\uF196'),
        cmd_contrast_circle('\uF197'),
        cmd_cookie('\uF198'),
        cmd_copyright('\uF5E6'),
        cmd_counter('\uF199'),
        cmd_cow('\uF19A'),
        cmd_credit_card('\uF19B'),
        cmd_credit_card_multiple('\uF19C'),
        cmd_credit_card_off('\uF5E4'),
        cmd_credit_card_scan('\uF19D'),
        cmd_crop('\uF19E'),
        cmd_crop_free('\uF19F'),
        cmd_crop_landscape('\uF1A0'),
        cmd_crop_portrait('\uF1A1'),
        cmd_crop_square('\uF1A2'),
        cmd_crosshairs('\uF1A3'),
        cmd_crosshairs_gps('\uF1A4'),
        cmd_crown('\uF1A5'),
        cmd_cube('\uF1A6'),
        cmd_cube_outline('\uF1A7'),
        cmd_cube_send('\uF1A8'),
        cmd_cube_unfolded('\uF1A9'),
        cmd_cup('\uF1AA'),
        cmd_cup_off('\uF5E5'),
        cmd_cup_water('\uF1AB'),
        cmd_currency_btc('\uF1AC'),
        cmd_currency_eur('\uF1AD'),
        cmd_currency_gbp('\uF1AE'),
        cmd_currency_inr('\uF1AF'),
        cmd_currency_ngn('\uF1B0'),
        cmd_currency_rub('\uF1B1'),
        cmd_currency_try('\uF1B2'),
        cmd_currency_usd('\uF1B3'),
        cmd_cursor_default('\uF1B4'),
        cmd_cursor_default_outline('\uF1B5'),
        cmd_cursor_move('\uF1B6'),
        cmd_cursor_pointer('\uF1B7'),
        cmd_cursor_text('\uF5E7'),
        cmd_database('\uF1B8'),
        cmd_database_minus('\uF1B9'),
        cmd_database_plus('\uF1BA'),
        cmd_debug_step_into('\uF1BB'),
        cmd_debug_step_out('\uF1BC'),
        cmd_debug_step_over('\uF1BD'),
        cmd_decimal_decrease('\uF1BE'),
        cmd_decimal_increase('\uF1BF'),
        cmd_delete('\uF1C0'),
        cmd_delete_forever('\uF5E8'),
        cmd_delete_sweep('\uF5E9'),
        cmd_delete_variant('\uF1C1'),
        cmd_delta('\uF1C2'),
        cmd_deskphone('\uF1C3'),
        cmd_desktop_mac('\uF1C4'),
        cmd_desktop_tower('\uF1C5'),
        cmd_details('\uF1C6'),
        cmd_deviantart('\uF1C7'),
        cmd_diamond('\uF1C8'),
        cmd_dice_1('\uF1CA'),
        cmd_dice_2('\uF1CB'),
        cmd_dice_3('\uF1CC'),
        cmd_dice_4('\uF1CD'),
        cmd_dice_5('\uF1CE'),
        cmd_dice_6('\uF1CF'),
        cmd_dice_d20('\uF5EA'),
        cmd_dice_d4('\uF5EB'),
        cmd_dice_d6('\uF5EC'),
        cmd_dice_d8('\uF5ED'),
        cmd_directions('\uF1D0'),
        cmd_disk('\uF5EE'),
        cmd_disk_alert('\uF1D1'),
        cmd_disqus('\uF1D2'),
        cmd_disqus_outline('\uF1D3'),
        cmd_division('\uF1D4'),
        cmd_division_box('\uF1D5'),
        cmd_dns('\uF1D6'),
        cmd_domain('\uF1D7'),
        cmd_dots_horizontal('\uF1D8'),
        cmd_dots_vertical('\uF1D9'),
        cmd_download('\uF1DA'),
        cmd_drag('\uF1DB'),
        cmd_drag_horizontal('\uF1DC'),
        cmd_drag_vertical('\uF1DD'),
        cmd_drawing('\uF1DE'),
        cmd_drawing_box('\uF1DF'),
        cmd_dribbble('\uF1E0'),
        cmd_dribbble_box('\uF1E1'),
        cmd_drone('\uF1E2'),
        cmd_dropbox('\uF1E3'),
        cmd_drupal('\uF1E4'),
        cmd_duck('\uF1E5'),
        cmd_dumbbell('\uF1E6'),
        cmd_earth('\uF1E7'),
        cmd_earth_off('\uF1E8'),
        cmd_edge('\uF1E9'),
        cmd_eject('\uF1EA'),
        cmd_elevation_decline('\uF1EB'),
        cmd_elevation_rise('\uF1EC'),
        cmd_elevator('\uF1ED'),
        cmd_email('\uF1EE'),
        cmd_email_open('\uF1EF'),
        cmd_email_open_outline('\uF5EF'),
        cmd_email_outline('\uF1F0'),
        cmd_email_secure('\uF1F1'),
        cmd_email_variant('\uF5F0'),
        cmd_emoticon('\uF1F2'),
        cmd_emoticon_cool('\uF1F3'),
        cmd_emoticon_devil('\uF1F4'),
        cmd_emoticon_happy('\uF1F5'),
        cmd_emoticon_neutral('\uF1F6'),
        cmd_emoticon_poop('\uF1F7'),
        cmd_emoticon_sad('\uF1F8'),
        cmd_emoticon_tongue('\uF1F9'),
        cmd_engine('\uF1FA'),
        cmd_engine_outline('\uF1FB'),
        cmd_equal('\uF1FC'),
        cmd_equal_box('\uF1FD'),
        cmd_eraser('\uF1FE'),
        cmd_escalator('\uF1FF'),
        cmd_ethernet('\uF200'),
        cmd_ethernet_cable('\uF201'),
        cmd_ethernet_cable_off('\uF202'),
        cmd_etsy('\uF203'),
        cmd_ev_station('\uF5F1'),
        cmd_evernote('\uF204'),
        cmd_exclamation('\uF205'),
        cmd_exit_to_app('\uF206'),
        cmd_export('\uF207'),
        cmd_eye('\uF208'),
        cmd_eye_off('\uF209'),
        cmd_eyedropper('\uF20A'),
        cmd_eyedropper_variant('\uF20B'),
        cmd_facebook('\uF20C'),
        cmd_facebook_box('\uF20D'),
        cmd_facebook_messenger('\uF20E'),
        cmd_factory('\uF20F'),
        cmd_fan('\uF210'),
        cmd_fast_forward('\uF211'),
        cmd_fax('\uF212'),
        cmd_ferry('\uF213'),
        cmd_file('\uF214'),
        cmd_file_chart('\uF215'),
        cmd_file_check('\uF216'),
        cmd_file_cloud('\uF217'),
        cmd_file_delimited('\uF218'),
        cmd_file_document('\uF219'),
        cmd_file_document_box('\uF21A'),
        cmd_file_excel('\uF21B'),
        cmd_file_excel_box('\uF21C'),
        cmd_file_export('\uF21D'),
        cmd_file_find('\uF21E'),
        cmd_file_hidden('\uF613'),
        cmd_file_image('\uF21F'),
        cmd_file_import('\uF220'),
        cmd_file_lock('\uF221'),
        cmd_file_multiple('\uF222'),
        cmd_file_music('\uF223'),
        cmd_file_outline('\uF224'),
        cmd_file_pdf('\uF225'),
        cmd_file_pdf_box('\uF226'),
        cmd_file_powerpoint('\uF227'),
        cmd_file_powerpoint_box('\uF228'),
        cmd_file_presentation_box('\uF229'),
        cmd_file_send('\uF22A'),
        cmd_file_video('\uF22B'),
        cmd_file_word('\uF22C'),
        cmd_file_word_box('\uF22D'),
        cmd_file_xml('\uF22E'),
        cmd_film('\uF22F'),
        cmd_filmstrip('\uF230'),
        cmd_filmstrip_off('\uF231'),
        cmd_filter('\uF232'),
        cmd_filter_outline('\uF233'),
        cmd_filter_remove('\uF234'),
        cmd_filter_remove_outline('\uF235'),
        cmd_filter_variant('\uF236'),
        cmd_fingerprint('\uF237'),
        cmd_fire('\uF238'),
        cmd_firefox('\uF239'),
        cmd_fish('\uF23A'),
        cmd_flag('\uF23B'),
        cmd_flag_checkered('\uF23C'),
        cmd_flag_outline('\uF23D'),
        cmd_flag_outline_variant('\uF23E'),
        cmd_flag_triangle('\uF23F'),
        cmd_flag_variant('\uF240'),
        cmd_flash('\uF241'),
        cmd_flash_auto('\uF242'),
        cmd_flash_off('\uF243'),
        cmd_flashlight('\uF244'),
        cmd_flashlight_off('\uF245'),
        cmd_flask('\uF093'),
        cmd_flask_empty('\uF094'),
        cmd_flask_empty_outline('\uF095'),
        cmd_flask_outline('\uF096'),
        cmd_flattr('\uF246'),
        cmd_flip_to_back('\uF247'),
        cmd_flip_to_front('\uF248'),
        cmd_floppy('\uF249'),
        cmd_flower('\uF24A'),
        cmd_folder('\uF24B'),
        cmd_folder_account('\uF24C'),
        cmd_folder_download('\uF24D'),
        cmd_folder_google_drive('\uF24E'),
        cmd_folder_image('\uF24F'),
        cmd_folder_lock('\uF250'),
        cmd_folder_lock_open('\uF251'),
        cmd_folder_move('\uF252'),
        cmd_folder_multiple('\uF253'),
        cmd_folder_multiple_image('\uF254'),
        cmd_folder_multiple_outline('\uF255'),
        cmd_folder_outline('\uF256'),
        cmd_folder_plus('\uF257'),
        cmd_folder_remove('\uF258'),
        cmd_folder_upload('\uF259'),
        cmd_food('\uF25A'),
        cmd_food_apple('\uF25B'),
        cmd_food_fork_drink('\uF5F2'),
        cmd_food_off('\uF5F3'),
        cmd_food_variant('\uF25C'),
        cmd_football('\uF25D'),
        cmd_football_australian('\uF25E'),
        cmd_football_helmet('\uF25F'),
        cmd_format_align_center('\uF260'),
        cmd_format_align_justify('\uF261'),
        cmd_format_align_left('\uF262'),
        cmd_format_align_right('\uF263'),
        cmd_format_bold('\uF264'),
        cmd_format_clear('\uF265'),
        cmd_format_color_fill('\uF266'),
        cmd_format_float_center('\uF267'),
        cmd_format_float_left('\uF268'),
        cmd_format_float_none('\uF269'),
        cmd_format_float_right('\uF26A'),
        cmd_format_header_1('\uF26B'),
        cmd_format_header_2('\uF26C'),
        cmd_format_header_3('\uF26D'),
        cmd_format_header_4('\uF26E'),
        cmd_format_header_5('\uF26F'),
        cmd_format_header_6('\uF270'),
        cmd_format_header_decrease('\uF271'),
        cmd_format_header_equal('\uF272'),
        cmd_format_header_increase('\uF273'),
        cmd_format_header_pound('\uF274'),
        cmd_format_indent_decrease('\uF275'),
        cmd_format_indent_increase('\uF276'),
        cmd_format_italic('\uF277'),
        cmd_format_line_spacing('\uF278'),
        cmd_format_line_style('\uF5C8'),
        cmd_format_line_weight('\uF5C9'),
        cmd_format_list_bulleted('\uF279'),
        cmd_format_list_bulleted_type('\uF27A'),
        cmd_format_list_numbers('\uF27B'),
        cmd_format_paint('\uF27C'),
        cmd_format_paragraph('\uF27D'),
        cmd_format_quote('\uF27E'),
        cmd_format_size('\uF27F'),
        cmd_format_strikethrough('\uF280'),
        cmd_format_strikethrough_variant('\uF281'),
        cmd_format_subscript('\uF282'),
        cmd_format_superscript('\uF283'),
        cmd_format_text('\uF284'),
        cmd_format_textdirection_l_to_r('\uF285'),
        cmd_format_textdirection_r_to_l('\uF286'),
        cmd_format_title('\uF5F4'),
        cmd_format_underline('\uF287'),
        cmd_format_wrap_inline('\uF288'),
        cmd_format_wrap_square('\uF289'),
        cmd_format_wrap_tight('\uF28A'),
        cmd_format_wrap_top_bottom('\uF28B'),
        cmd_forum('\uF28C'),
        cmd_forward('\uF28D'),
        cmd_foursquare('\uF28E'),
        cmd_fridge('\uF28F'),
        cmd_fridge_filled('\uF290'),
        cmd_fridge_filled_bottom('\uF291'),
        cmd_fridge_filled_top('\uF292'),
        cmd_fullscreen('\uF293'),
        cmd_fullscreen_exit('\uF294'),
        cmd_function('\uF295'),
        cmd_gamepad('\uF296'),
        cmd_gamepad_variant('\uF297'),
        cmd_gas_station('\uF298'),
        cmd_gate('\uF299'),
        cmd_gauge('\uF29A'),
        cmd_gavel('\uF29B'),
        cmd_gender_female('\uF29C'),
        cmd_gender_male('\uF29D'),
        cmd_gender_male_female('\uF29E'),
        cmd_gender_transgender('\uF29F'),
        cmd_ghost('\uF2A0'),
        cmd_gift('\uF2A1'),
        cmd_git('\uF2A2'),
        cmd_github_box('\uF2A3'),
        cmd_github_circle('\uF2A4'),
        cmd_glass_flute('\uF2A5'),
        cmd_glass_mug('\uF2A6'),
        cmd_glass_stange('\uF2A7'),
        cmd_glass_tulip('\uF2A8'),
        cmd_glassdoor('\uF2A9'),
        cmd_glasses('\uF2AA'),
        cmd_gmail('\uF2AB'),
        cmd_gnome('\uF2AC'),
        cmd_google('\uF2AD'),
        cmd_google_cardboard('\uF2AE'),
        cmd_google_chrome('\uF2AF'),
        cmd_google_circles('\uF2B0'),
        cmd_google_circles_communities('\uF2B1'),
        cmd_google_circles_extended('\uF2B2'),
        cmd_google_circles_group('\uF2B3'),
        cmd_google_controller('\uF2B4'),
        cmd_google_controller_off('\uF2B5'),
        cmd_google_drive('\uF2B6'),
        cmd_google_earth('\uF2B7'),
        cmd_google_glass('\uF2B8'),
        cmd_google_maps('\uF5F5'),
        cmd_google_nearby('\uF2B9'),
        cmd_google_pages('\uF2BA'),
        cmd_google_physical_web('\uF2BB'),
        cmd_google_play('\uF2BC'),
        cmd_google_plus('\uF2BD'),
        cmd_google_plus_box('\uF2BE'),
        cmd_google_translate('\uF2BF'),
        cmd_google_wallet('\uF2C0'),
        cmd_grid('\uF2C1'),
        cmd_grid_off('\uF2C2'),
        cmd_group('\uF2C3'),
        cmd_guitar_electric('\uF2C4'),
        cmd_guitar_pick('\uF2C5'),
        cmd_guitar_pick_outline('\uF2C6'),
        cmd_hand_pointing_right('\uF2C7'),
        cmd_hanger('\uF2C8'),
        cmd_hangouts('\uF2C9'),
        cmd_harddisk('\uF2CA'),
        cmd_headphones('\uF2CB'),
        cmd_headphones_box('\uF2CC'),
        cmd_headphones_settings('\uF2CD'),
        cmd_headset('\uF2CE'),
        cmd_headset_dock('\uF2CF'),
        cmd_headset_off('\uF2D0'),
        cmd_heart('\uF2D1'),
        cmd_heart_box('\uF2D2'),
        cmd_heart_box_outline('\uF2D3'),
        cmd_heart_broken('\uF2D4'),
        cmd_heart_outline('\uF2D5'),
        cmd_heart_pulse('\uF5F6'),
        cmd_help('\uF2D6'),
        cmd_help_circle('\uF2D7'),
        cmd_hexagon('\uF2D8'),
        cmd_hexagon_outline('\uF2D9'),
        cmd_highway('\uF5F7'),
        cmd_history('\uF2DA'),
        cmd_hololens('\uF2DB'),
        cmd_home('\uF2DC'),
        cmd_home_map_marker('\uF5F8'),
        cmd_home_modern('\uF2DD'),
        cmd_home_variant('\uF2DE'),
        cmd_hops('\uF2DF'),
        cmd_hospital('\uF2E0'),
        cmd_hospital_building('\uF2E1'),
        cmd_hospital_marker('\uF2E2'),
        cmd_hotel('\uF2E3'),
        cmd_houzz('\uF2E4'),
        cmd_houzz_box('\uF2E5'),
        cmd_human('\uF2E6'),
        cmd_human_child('\uF2E7'),
        cmd_human_male_female('\uF2E8'),
        cmd_human_pregnant('\uF5CF'),
        cmd_image('\uF2E9'),
        cmd_image_album('\uF2EA'),
        cmd_image_area('\uF2EB'),
        cmd_image_area_close('\uF2EC'),
        cmd_image_broken('\uF2ED'),
        cmd_image_broken_variant('\uF2EE'),
        cmd_image_filter('\uF2EF'),
        cmd_image_filter_black_white('\uF2F0'),
        cmd_image_filter_center_focus('\uF2F1'),
        cmd_image_filter_center_focus_weak('\uF2F2'),
        cmd_image_filter_drama('\uF2F3'),
        cmd_image_filter_frames('\uF2F4'),
        cmd_image_filter_hdr('\uF2F5'),
        cmd_image_filter_none('\uF2F6'),
        cmd_image_filter_tilt_shift('\uF2F7'),
        cmd_image_filter_vintage('\uF2F8'),
        cmd_image_multiple('\uF2F9'),
        cmd_import('\uF2FA'),
        cmd_inbox('\uF2FB'),
        cmd_incognito('\uF5F9'),
        cmd_information('\uF2FC'),
        cmd_information_outline('\uF2FD'),
        cmd_instagram('\uF2FE'),
        cmd_instapaper('\uF2FF'),
        cmd_internet_explorer('\uF300'),
        cmd_invert_colors('\uF301'),
        cmd_jeepney('\uF302'),
        cmd_jira('\uF303'),
        cmd_jsfiddle('\uF304'),
        cmd_keg('\uF305'),
        cmd_kettle('\uF5FA'),
        cmd_key('\uF306'),
        cmd_key_change('\uF307'),
        cmd_key_minus('\uF308'),
        cmd_key_plus('\uF309'),
        cmd_key_remove('\uF30A'),
        cmd_key_variant('\uF30B'),
        cmd_keyboard('\uF30C'),
        cmd_keyboard_backspace('\uF30D'),
        cmd_keyboard_caps('\uF30E'),
        cmd_keyboard_close('\uF30F'),
        cmd_keyboard_off('\uF310'),
        cmd_keyboard_return('\uF311'),
        cmd_keyboard_tab('\uF312'),
        cmd_keyboard_variant('\uF313'),
        cmd_kodi('\uF314'),
        cmd_label('\uF315'),
        cmd_label_outline('\uF316'),
        cmd_lan('\uF317'),
        cmd_lan_connect('\uF318'),
        cmd_lan_disconnect('\uF319'),
        cmd_lan_pending('\uF31A'),
        cmd_language_csharp('\uF31B'),
        cmd_language_css3('\uF31C'),
        cmd_language_html5('\uF31D'),
        cmd_language_javascript('\uF31E'),
        cmd_language_php('\uF31F'),
        cmd_language_python('\uF320'),
        cmd_language_python_text('\uF321'),
        cmd_laptop('\uF322'),
        cmd_laptop_chromebook('\uF323'),
        cmd_laptop_mac('\uF324'),
        cmd_laptop_windows('\uF325'),
        cmd_lastfm('\uF326'),
        cmd_launch('\uF327'),
        cmd_layers('\uF328'),
        cmd_layers_off('\uF329'),
        cmd_leaf('\uF32A'),
        cmd_led_off('\uF32B'),
        cmd_led_on('\uF32C'),
        cmd_led_outline('\uF32D'),
        cmd_led_variant_off('\uF32E'),
        cmd_led_variant_on('\uF32F'),
        cmd_led_variant_outline('\uF330'),
        cmd_library('\uF331'),
        cmd_library_books('\uF332'),
        cmd_library_music('\uF333'),
        cmd_library_plus('\uF334'),
        cmd_lightbulb('\uF335'),
        cmd_lightbulb_outline('\uF336'),
        cmd_link('\uF337'),
        cmd_link_off('\uF338'),
        cmd_link_variant('\uF339'),
        cmd_link_variant_off('\uF33A'),
        cmd_linkedin('\uF33B'),
        cmd_linkedin_box('\uF33C'),
        cmd_linux('\uF33D'),
        cmd_lock('\uF33E'),
        cmd_lock_open('\uF33F'),
        cmd_lock_open_outline('\uF340'),
        cmd_lock_outline('\uF341'),
        cmd_lock_plus('\uF5FB'),
        cmd_login('\uF342'),
        cmd_login_variant('\uF5FC'),
        cmd_logout('\uF343'),
        cmd_logout_variant('\uF5FD'),
        cmd_looks('\uF344'),
        cmd_loupe('\uF345'),
        cmd_lumx('\uF346'),
        cmd_magnet('\uF347'),
        cmd_magnet_on('\uF348'),
        cmd_magnify('\uF349'),
        cmd_magnify_minus('\uF34A'),
        cmd_magnify_plus('\uF34B'),
        cmd_mail_ru('\uF34C'),
        cmd_map('\uF34D'),
        cmd_map_marker('\uF34E'),
        cmd_map_marker_circle('\uF34F'),
        cmd_map_marker_multiple('\uF350'),
        cmd_map_marker_off('\uF351'),
        cmd_map_marker_radius('\uF352'),
        cmd_margin('\uF353'),
        cmd_markdown('\uF354'),
        cmd_marker_check('\uF355'),
        cmd_martini('\uF356'),
        cmd_material_ui('\uF357'),
        cmd_math_compass('\uF358'),
        cmd_maxcdn('\uF359'),
        cmd_medium('\uF35A'),
        cmd_memory('\uF35B'),
        cmd_menu('\uF35C'),
        cmd_menu_down('\uF35D'),
        cmd_menu_left('\uF35E'),
        cmd_menu_right('\uF35F'),
        cmd_menu_up('\uF360'),
        cmd_message('\uF361'),
        cmd_message_alert('\uF362'),
        cmd_message_draw('\uF363'),
        cmd_message_image('\uF364'),
        cmd_message_outline('\uF365'),
        cmd_message_processing('\uF366'),
        cmd_message_reply('\uF367'),
        cmd_message_reply_text('\uF368'),
        cmd_message_text('\uF369'),
        cmd_message_text_outline('\uF36A'),
        cmd_message_video('\uF36B'),
        cmd_microphone('\uF36C'),
        cmd_microphone_off('\uF36D'),
        cmd_microphone_outline('\uF36E'),
        cmd_microphone_settings('\uF36F'),
        cmd_microphone_variant('\uF370'),
        cmd_microphone_variant_off('\uF371'),
        cmd_microsoft('\uF372'),
        cmd_minecraft('\uF373'),
        cmd_minus('\uF374'),
        cmd_minus_box('\uF375'),
        cmd_minus_circle('\uF376'),
        cmd_minus_circle_outline('\uF377'),
        cmd_minus_network('\uF378'),
        cmd_monitor('\uF379'),
        cmd_monitor_multiple('\uF37A'),
        cmd_more('\uF37B'),
        cmd_motorbike('\uF37C'),
        cmd_mouse('\uF37D'),
        cmd_mouse_off('\uF37E'),
        cmd_mouse_variant('\uF37F'),
        cmd_mouse_variant_off('\uF380'),
        cmd_movie('\uF381'),
        cmd_multiplication('\uF382'),
        cmd_multiplication_box('\uF383'),
        cmd_music_box('\uF384'),
        cmd_music_box_outline('\uF385'),
        cmd_music_circle('\uF386'),
        cmd_music_note('\uF387'),
        cmd_music_note_bluetooth('\uF5FE'),
        cmd_music_note_bluetooth_off('\uF5FF'),
        cmd_music_note_eighth('\uF388'),
        cmd_music_note_half('\uF389'),
        cmd_music_note_off('\uF38A'),
        cmd_music_note_quarter('\uF38B'),
        cmd_music_note_sixteenth('\uF38C'),
        cmd_music_note_whole('\uF38D'),
        cmd_nature('\uF38E'),
        cmd_nature_people('\uF38F'),
        cmd_navigation('\uF390'),
        cmd_near_me('\uF5CD'),
        cmd_needle('\uF391'),
        cmd_nest_protect('\uF392'),
        cmd_nest_thermostat('\uF393'),
        cmd_new_box('\uF394'),
        cmd_newspaper('\uF395'),
        cmd_nfc('\uF396'),
        cmd_nfc_tap('\uF397'),
        cmd_nfc_variant('\uF398'),
        cmd_nodejs('\uF399'),
        cmd_note('\uF39A'),
        cmd_note_outline('\uF39B'),
        cmd_note_plus('\uF39C'),
        cmd_note_plus_outline('\uF39D'),
        cmd_note_text('\uF39E'),
        cmd_notification_clear_all('\uF39F'),
        cmd_numeric('\uF3A0'),
        cmd_numeric_0_box('\uF3A1'),
        cmd_numeric_0_box_multiple_outline('\uF3A2'),
        cmd_numeric_0_box_outline('\uF3A3'),
        cmd_numeric_1_box('\uF3A4'),
        cmd_numeric_1_box_multiple_outline('\uF3A5'),
        cmd_numeric_1_box_outline('\uF3A6'),
        cmd_numeric_2_box('\uF3A7'),
        cmd_numeric_2_box_multiple_outline('\uF3A8'),
        cmd_numeric_2_box_outline('\uF3A9'),
        cmd_numeric_3_box('\uF3AA'),
        cmd_numeric_3_box_multiple_outline('\uF3AB'),
        cmd_numeric_3_box_outline('\uF3AC'),
        cmd_numeric_4_box('\uF3AD'),
        cmd_numeric_4_box_multiple_outline('\uF3AE'),
        cmd_numeric_4_box_outline('\uF3AF'),
        cmd_numeric_5_box('\uF3B0'),
        cmd_numeric_5_box_multiple_outline('\uF3B1'),
        cmd_numeric_5_box_outline('\uF3B2'),
        cmd_numeric_6_box('\uF3B3'),
        cmd_numeric_6_box_multiple_outline('\uF3B4'),
        cmd_numeric_6_box_outline('\uF3B5'),
        cmd_numeric_7_box('\uF3B6'),
        cmd_numeric_7_box_multiple_outline('\uF3B7'),
        cmd_numeric_7_box_outline('\uF3B8'),
        cmd_numeric_8_box('\uF3B9'),
        cmd_numeric_8_box_multiple_outline('\uF3BA'),
        cmd_numeric_8_box_outline('\uF3BB'),
        cmd_numeric_9_box('\uF3BC'),
        cmd_numeric_9_box_multiple_outline('\uF3BD'),
        cmd_numeric_9_box_outline('\uF3BE'),
        cmd_numeric_9_plus_box('\uF3BF'),
        cmd_numeric_9_plus_box_multiple_outline('\uF3C0'),
        cmd_numeric_9_plus_box_outline('\uF3C1'),
        cmd_nutrition('\uF3C2'),
        cmd_octagon('\uF3C3'),
        cmd_octagon_outline('\uF3C4'),
        cmd_odnoklassniki('\uF3C5'),
        cmd_office('\uF3C6'),
        cmd_oil('\uF3C7'),
        cmd_oil_temperature('\uF3C8'),
        cmd_omega('\uF3C9'),
        cmd_onedrive('\uF3CA'),
        cmd_opacity('\uF5CC'),
        cmd_open_in_app('\uF3CB'),
        cmd_open_in_new('\uF3CC'),
        cmd_openid('\uF3CD'),
        cmd_opera('\uF3CE'),
        cmd_ornament('\uF3CF'),
        cmd_ornament_variant('\uF3D0'),
        cmd_outbox('\uF3D1'),
        cmd_owl('\uF3D2'),
        cmd_package('\uF3D3'),
        cmd_package_down('\uF3D4'),
        cmd_package_up('\uF3D5'),
        cmd_package_variant('\uF3D6'),
        cmd_package_variant_closed('\uF3D7'),
        cmd_page_first('\uF600'),
        cmd_page_last('\uF601'),
        cmd_palette('\uF3D8'),
        cmd_palette_advanced('\uF3D9'),
        cmd_panda('\uF3DA'),
        cmd_pandora('\uF3DB'),
        cmd_panorama('\uF3DC'),
        cmd_panorama_fisheye('\uF3DD'),
        cmd_panorama_horizontal('\uF3DE'),
        cmd_panorama_vertical('\uF3DF'),
        cmd_panorama_wide_angle('\uF3E0'),
        cmd_paper_cut_vertical('\uF3E1'),
        cmd_paperclip('\uF3E2'),
        cmd_parking('\uF3E3'),
        cmd_pause('\uF3E4'),
        cmd_pause_circle('\uF3E5'),
        cmd_pause_circle_outline('\uF3E6'),
        cmd_pause_octagon('\uF3E7'),
        cmd_pause_octagon_outline('\uF3E8'),
        cmd_paw('\uF3E9'),
        cmd_pen('\uF3EA'),
        cmd_pencil('\uF3EB'),
        cmd_pencil_box('\uF3EC'),
        cmd_pencil_box_outline('\uF3ED'),
        cmd_pencil_lock('\uF3EE'),
        cmd_pencil_off('\uF3EF'),
        cmd_percent('\uF3F0'),
        cmd_pharmacy('\uF3F1'),
        cmd_phone('\uF3F2'),
        cmd_phone_bluetooth('\uF3F3'),
        cmd_phone_classic('\uF602'),
        cmd_phone_forward('\uF3F4'),
        cmd_phone_hangup('\uF3F5'),
        cmd_phone_in_talk('\uF3F6'),
        cmd_phone_incoming('\uF3F7'),
        cmd_phone_locked('\uF3F8'),
        cmd_phone_log('\uF3F9'),
        cmd_phone_missed('\uF3FA'),
        cmd_phone_outgoing('\uF3FB'),
        cmd_phone_paused('\uF3FC'),
        cmd_phone_settings('\uF3FD'),
        cmd_phone_voip('\uF3FE'),
        cmd_pi('\uF3FF'),
        cmd_pi_box('\uF400'),
        cmd_pig('\uF401'),
        cmd_pill('\uF402'),
        cmd_pin('\uF403'),
        cmd_pin_off('\uF404'),
        cmd_pine_tree('\uF405'),
        cmd_pine_tree_box('\uF406'),
        cmd_pinterest('\uF407'),
        cmd_pinterest_box('\uF408'),
        cmd_pizza('\uF409'),
        cmd_play('\uF40A'),
        cmd_play_box_outline('\uF40B'),
        cmd_play_circle('\uF40C'),
        cmd_play_circle_outline('\uF40D'),
        cmd_play_pause('\uF40E'),
        cmd_play_protected_content('\uF40F'),
        cmd_playlist_check('\uF5C7'),
        cmd_playlist_minus('\uF410'),
        cmd_playlist_play('\uF411'),
        cmd_playlist_plus('\uF412'),
        cmd_playlist_remove('\uF413'),
        cmd_playstation('\uF414'),
        cmd_plus('\uF415'),
        cmd_plus_box('\uF416'),
        cmd_plus_circle('\uF417'),
        cmd_plus_circle_multiple_outline('\uF418'),
        cmd_plus_circle_outline('\uF419'),
        cmd_plus_network('\uF41A'),
        cmd_plus_one('\uF41B'),
        cmd_pocket('\uF41C'),
        cmd_pokeball('\uF41D'),
        cmd_polaroid('\uF41E'),
        cmd_poll('\uF41F'),
        cmd_poll_box('\uF420'),
        cmd_polymer('\uF421'),
        cmd_pool('\uF606'),
        cmd_popcorn('\uF422'),
        cmd_pound('\uF423'),
        cmd_pound_box('\uF424'),
        cmd_power('\uF425'),
        cmd_power_settings('\uF426'),
        cmd_power_socket('\uF427'),
        cmd_presentation('\uF428'),
        cmd_presentation_play('\uF429'),
        cmd_printer('\uF42A'),
        cmd_printer_3d('\uF42B'),
        cmd_printer_alert('\uF42C'),
        cmd_priority_high('\uF603'),
        cmd_priority_low('\uF604'),
        cmd_professional_hexagon('\uF42D'),
        cmd_projector('\uF42E'),
        cmd_projector_screen('\uF42F'),
        cmd_pulse('\uF430'),
        cmd_puzzle('\uF431'),
        cmd_qqchat('\uF605'),
        cmd_qrcode('\uF432'),
        cmd_qrcode_scan('\uF433'),
        cmd_quadcopter('\uF434'),
        cmd_quality_high('\uF435'),
        cmd_quicktime('\uF436'),
        cmd_radar('\uF437'),
        cmd_radiator('\uF438'),
        cmd_radio('\uF439'),
        cmd_radio_handheld('\uF43A'),
        cmd_radio_tower('\uF43B'),
        cmd_radioactive('\uF43C'),
        cmd_radiobox_blank('\uF43D'),
        cmd_radiobox_marked('\uF43E'),
        cmd_raspberrypi('\uF43F'),
        cmd_ray_end('\uF440'),
        cmd_ray_end_arrow('\uF441'),
        cmd_ray_start('\uF442'),
        cmd_ray_start_arrow('\uF443'),
        cmd_ray_start_end('\uF444'),
        cmd_ray_vertex('\uF445'),
        cmd_rdio('\uF446'),
        cmd_read('\uF447'),
        cmd_readability('\uF448'),
        cmd_receipt('\uF449'),
        cmd_record('\uF44A'),
        cmd_record_rec('\uF44B'),
        cmd_recycle('\uF44C'),
        cmd_reddit('\uF44D'),
        cmd_redo('\uF44E'),
        cmd_redo_variant('\uF44F'),
        cmd_refresh('\uF450'),
        cmd_regex('\uF451'),
        cmd_relative_scale('\uF452'),
        cmd_reload('\uF453'),
        cmd_remote('\uF454'),
        cmd_rename_box('\uF455'),
        cmd_repeat('\uF456'),
        cmd_repeat_off('\uF457'),
        cmd_repeat_once('\uF458'),
        cmd_replay('\uF459'),
        cmd_reply('\uF45A'),
        cmd_reply_all('\uF45B'),
        cmd_reproduction('\uF45C'),
        cmd_resize_bottom_right('\uF45D'),
        cmd_responsive('\uF45E'),
        cmd_rewind('\uF45F'),
        cmd_ribbon('\uF460'),
        cmd_road('\uF461'),
        cmd_road_variant('\uF462'),
        cmd_rocket('\uF463'),
        cmd_rotate_3d('\uF464'),
        cmd_rotate_left('\uF465'),
        cmd_rotate_left_variant('\uF466'),
        cmd_rotate_right('\uF467'),
        cmd_rotate_right_variant('\uF468'),
        cmd_rounded_corner('\uF607'),
        cmd_router_wireless('\uF469'),
        cmd_routes('\uF46A'),
        cmd_rowing('\uF608'),
        cmd_rss('\uF46B'),
        cmd_rss_box('\uF46C'),
        cmd_ruler('\uF46D'),
        cmd_run('\uF46E'),
        cmd_sale('\uF46F'),
        cmd_satellite('\uF470'),
        cmd_satellite_variant('\uF471'),
        cmd_saxophone('\uF609'),
        cmd_scale('\uF472'),
        cmd_scale_balance('\uF5D1'),
        cmd_scale_bathroom('\uF473'),
        cmd_school('\uF474'),
        cmd_screen_rotation('\uF475'),
        cmd_screen_rotation_lock('\uF476'),
        cmd_screwdriver('\uF477'),
        cmd_script('\uF478'),
        cmd_sd('\uF479'),
        cmd_seal('\uF47A'),
        cmd_seat_flat('\uF47B'),
        cmd_seat_flat_angled('\uF47C'),
        cmd_seat_individual_suite('\uF47D'),
        cmd_seat_legroom_extra('\uF47E'),
        cmd_seat_legroom_normal('\uF47F'),
        cmd_seat_legroom_reduced('\uF480'),
        cmd_seat_recline_extra('\uF481'),
        cmd_seat_recline_normal('\uF482'),
        cmd_security('\uF483'),
        cmd_security_network('\uF484'),
        cmd_select('\uF485'),
        cmd_select_all('\uF486'),
        cmd_select_inverse('\uF487'),
        cmd_select_off('\uF488'),
        cmd_selection('\uF489'),
        cmd_send('\uF48A'),
        cmd_server('\uF48B'),
        cmd_server_minus('\uF48C'),
        cmd_server_network('\uF48D'),
        cmd_server_network_off('\uF48E'),
        cmd_server_off('\uF48F'),
        cmd_server_plus('\uF490'),
        cmd_server_remove('\uF491'),
        cmd_server_security('\uF492'),
        cmd_settings('\uF493'),
        cmd_settings_box('\uF494'),
        cmd_shape_plus('\uF495'),
        cmd_share('\uF496'),
        cmd_share_variant('\uF497'),
        cmd_shield('\uF498'),
        cmd_shield_outline('\uF499'),
        cmd_shopping('\uF49A'),
        cmd_shopping_music('\uF49B'),
        cmd_shredder('\uF49C'),
        cmd_shuffle('\uF49D'),
        cmd_shuffle_disabled('\uF49E'),
        cmd_shuffle_variant('\uF49F'),
        cmd_sigma('\uF4A0'),
        cmd_sign_caution('\uF4A1'),
        cmd_signal('\uF4A2'),
        cmd_signal_variant('\uF60A'),
        cmd_silverware('\uF4A3'),
        cmd_silverware_fork('\uF4A4'),
        cmd_silverware_spoon('\uF4A5'),
        cmd_silverware_variant('\uF4A6'),
        cmd_sim('\uF4A7'),
        cmd_sim_alert('\uF4A8'),
        cmd_sim_off('\uF4A9'),
        cmd_sitemap('\uF4AA'),
        cmd_skip_backward('\uF4AB'),
        cmd_skip_forward('\uF4AC'),
        cmd_skip_next('\uF4AD'),
        cmd_skip_previous('\uF4AE'),
        cmd_skype('\uF4AF'),
        cmd_skype_business('\uF4B0'),
        cmd_slack('\uF4B1'),
        cmd_sleep('\uF4B2'),
        cmd_sleep_off('\uF4B3'),
        cmd_smoking('\uF4B4'),
        cmd_smoking_off('\uF4B5'),
        cmd_snapchat('\uF4B6'),
        cmd_snowman('\uF4B7'),
        cmd_soccer('\uF4B8'),
        cmd_sofa('\uF4B9'),
        cmd_sort('\uF4BA'),
        cmd_sort_alphabetical('\uF4BB'),
        cmd_sort_ascending('\uF4BC'),
        cmd_sort_descending('\uF4BD'),
        cmd_sort_numeric('\uF4BE'),
        cmd_sort_variant('\uF4BF'),
        cmd_soundcloud('\uF4C0'),
        cmd_source_fork('\uF4C1'),
        cmd_source_pull('\uF4C2'),
        cmd_speaker('\uF4C3'),
        cmd_speaker_off('\uF4C4'),
        cmd_speedometer('\uF4C5'),
        cmd_spellcheck('\uF4C6'),
        cmd_spotify('\uF4C7'),
        cmd_spotlight('\uF4C8'),
        cmd_spotlight_beam('\uF4C9'),
        cmd_square_inc('\uF4CA'),
        cmd_square_inc_cash('\uF4CB'),
        cmd_stackexchange('\uF60B'),
        cmd_stackoverflow('\uF4CC'),
        cmd_stairs('\uF4CD'),
        cmd_star('\uF4CE'),
        cmd_star_circle('\uF4CF'),
        cmd_star_half('\uF4D0'),
        cmd_star_off('\uF4D1'),
        cmd_star_outline('\uF4D2'),
        cmd_steam('\uF4D3'),
        cmd_steering('\uF4D4'),
        cmd_step_backward('\uF4D5'),
        cmd_step_backward_2('\uF4D6'),
        cmd_step_forward('\uF4D7'),
        cmd_step_forward_2('\uF4D8'),
        cmd_stethoscope('\uF4D9'),
        cmd_sticker('\uF5D0'),
        cmd_stocking('\uF4DA'),
        cmd_stop('\uF4DB'),
        cmd_store('\uF4DC'),
        cmd_store_24_hour('\uF4DD'),
        cmd_stove('\uF4DE'),
        cmd_subdirectory_arrow_left('\uF60C'),
        cmd_subdirectory_arrow_right('\uF60D'),
        cmd_subway('\uF4DF'),
        cmd_sunglasses('\uF4E0'),
        cmd_surround_sound('\uF5C5'),
        cmd_swap_horizontal('\uF4E1'),
        cmd_swap_vertical('\uF4E2'),
        cmd_swim('\uF4E3'),
        cmd_switch('\uF4E4'),
        cmd_sword('\uF4E5'),
        cmd_sync('\uF4E6'),
        cmd_sync_alert('\uF4E7'),
        cmd_sync_off('\uF4E8'),
        cmd_tab('\uF4E9'),
        cmd_tab_unselected('\uF4EA'),
        cmd_table('\uF4EB'),
        cmd_table_column_plus_after('\uF4EC'),
        cmd_table_column_plus_before('\uF4ED'),
        cmd_table_column_remove('\uF4EE'),
        cmd_table_column_width('\uF4EF'),
        cmd_table_edit('\uF4F0'),
        cmd_table_large('\uF4F1'),
        cmd_table_row_height('\uF4F2'),
        cmd_table_row_plus_after('\uF4F3'),
        cmd_table_row_plus_before('\uF4F4'),
        cmd_table_row_remove('\uF4F5'),
        cmd_tablet('\uF4F6'),
        cmd_tablet_android('\uF4F7'),
        cmd_tablet_ipad('\uF4F8'),
        cmd_tag('\uF4F9'),
        cmd_tag_faces('\uF4FA'),
        cmd_tag_multiple('\uF4FB'),
        cmd_tag_outline('\uF4FC'),
        cmd_tag_text_outline('\uF4FD'),
        cmd_target('\uF4FE'),
        cmd_taxi('\uF4FF'),
        cmd_teamviewer('\uF500'),
        cmd_telegram('\uF501'),
        cmd_television('\uF502'),
        cmd_television_guide('\uF503'),
        cmd_temperature_celsius('\uF504'),
        cmd_temperature_fahrenheit('\uF505'),
        cmd_temperature_kelvin('\uF506'),
        cmd_tennis('\uF507'),
        cmd_tent('\uF508'),
        cmd_terrain('\uF509'),
        cmd_text_to_speech('\uF50A'),
        cmd_text_to_speech_off('\uF50B'),
        cmd_textbox('\uF60E'),
        cmd_texture('\uF50C'),
        cmd_theater('\uF50D'),
        cmd_theme_light_dark('\uF50E'),
        cmd_thermometer('\uF50F'),
        cmd_thermometer_lines('\uF510'),
        cmd_thumb_down('\uF511'),
        cmd_thumb_down_outline('\uF512'),
        cmd_thumb_up('\uF513'),
        cmd_thumb_up_outline('\uF514'),
        cmd_thumbs_up_down('\uF515'),
        cmd_ticket('\uF516'),
        cmd_ticket_account('\uF517'),
        cmd_ticket_confirmation('\uF518'),
        cmd_tie('\uF519'),
        cmd_timelapse('\uF51A'),
        cmd_timer('\uF51B'),
        cmd_timer_10('\uF51C'),
        cmd_timer_3('\uF51D'),
        cmd_timer_off('\uF51E'),
        cmd_timer_sand('\uF51F'),
        cmd_timetable('\uF520'),
        cmd_toggle_switch('\uF521'),
        cmd_toggle_switch_off('\uF522'),
        cmd_tooltip('\uF523'),
        cmd_tooltip_edit('\uF524'),
        cmd_tooltip_image('\uF525'),
        cmd_tooltip_outline('\uF526'),
        cmd_tooltip_outline_plus('\uF527'),
        cmd_tooltip_text('\uF528'),
        cmd_tooth('\uF529'),
        cmd_tor('\uF52A'),
        cmd_traffic_light('\uF52B'),
        cmd_train('\uF52C'),
        cmd_tram('\uF52D'),
        cmd_transcribe('\uF52E'),
        cmd_transcribe_close('\uF52F'),
        cmd_transfer('\uF530'),
        cmd_translate('\uF5CA'),
        cmd_tree('\uF531'),
        cmd_trello('\uF532'),
        cmd_trending_down('\uF533'),
        cmd_trending_neutral('\uF534'),
        cmd_trending_up('\uF535'),
        cmd_triangle('\uF536'),
        cmd_triangle_outline('\uF537'),
        cmd_trophy('\uF538'),
        cmd_trophy_award('\uF539'),
        cmd_trophy_outline('\uF53A'),
        cmd_trophy_variant('\uF53B'),
        cmd_trophy_variant_outline('\uF53C'),
        cmd_truck('\uF53D'),
        cmd_truck_delivery('\uF53E'),
        cmd_tshirt_crew('\uF53F'),
        cmd_tshirt_v('\uF540'),
        cmd_tumblr('\uF541'),
        cmd_tumblr_reblog('\uF542'),
        cmd_twitch('\uF543'),
        cmd_twitter('\uF544'),
        cmd_twitter_box('\uF545'),
        cmd_twitter_circle('\uF546'),
        cmd_twitter_retweet('\uF547'),
        cmd_ubuntu('\uF548'),
        cmd_umbraco('\uF549'),
        cmd_umbrella('\uF54A'),
        cmd_umbrella_outline('\uF54B'),
        cmd_undo('\uF54C'),
        cmd_undo_variant('\uF54D'),
        cmd_unfold_less('\uF54E'),
        cmd_unfold_more('\uF54F'),
        cmd_ungroup('\uF550'),
        cmd_untappd('\uF551'),
        cmd_upload('\uF552'),
        cmd_usb('\uF553'),
        cmd_vector_arrange_above('\uF554'),
        cmd_vector_arrange_below('\uF555'),
        cmd_vector_circle('\uF556'),
        cmd_vector_circle_variant('\uF557'),
        cmd_vector_combine('\uF558'),
        cmd_vector_curve('\uF559'),
        cmd_vector_difference('\uF55A'),
        cmd_vector_difference_ab('\uF55B'),
        cmd_vector_difference_ba('\uF55C'),
        cmd_vector_intersection('\uF55D'),
        cmd_vector_line('\uF55E'),
        cmd_vector_point('\uF55F'),
        cmd_vector_polygon('\uF560'),
        cmd_vector_polyline('\uF561'),
        cmd_vector_rectangle('\uF5C6'),
        cmd_vector_selection('\uF562'),
        cmd_vector_square('\uF001'),
        cmd_vector_triangle('\uF563'),
        cmd_vector_union('\uF564'),
        cmd_verified('\uF565'),
        cmd_vibrate('\uF566'),
        cmd_video('\uF567'),
        cmd_video_off('\uF568'),
        cmd_video_switch('\uF569'),
        cmd_view_agenda('\uF56A'),
        cmd_view_array('\uF56B'),
        cmd_view_carousel('\uF56C'),
        cmd_view_column('\uF56D'),
        cmd_view_dashboard('\uF56E'),
        cmd_view_day('\uF56F'),
        cmd_view_grid('\uF570'),
        cmd_view_headline('\uF571'),
        cmd_view_list('\uF572'),
        cmd_view_module('\uF573'),
        cmd_view_quilt('\uF574'),
        cmd_view_stream('\uF575'),
        cmd_view_week('\uF576'),
        cmd_vimeo('\uF577'),
        cmd_vine('\uF578'),
        cmd_violin('\uF60F'),
        cmd_visualstudio('\uF610'),
        cmd_vk('\uF579'),
        cmd_vk_box('\uF57A'),
        cmd_vk_circle('\uF57B'),
        cmd_vlc('\uF57C'),
        cmd_voice('\uF5CB'),
        cmd_voicemail('\uF57D'),
        cmd_volume_high('\uF57E'),
        cmd_volume_low('\uF57F'),
        cmd_volume_medium('\uF580'),
        cmd_volume_off('\uF581'),
        cmd_vpn('\uF582'),
        cmd_walk('\uF583'),
        cmd_wallet('\uF584'),
        cmd_wallet_giftcard('\uF585'),
        cmd_wallet_membership('\uF586'),
        cmd_wallet_travel('\uF587'),
        cmd_wan('\uF588'),
        cmd_watch('\uF589'),
        cmd_watch_export('\uF58A'),
        cmd_watch_import('\uF58B'),
        cmd_water('\uF58C'),
        cmd_water_off('\uF58D'),
        cmd_water_percent('\uF58E'),
        cmd_water_pump('\uF58F'),
        cmd_watermark('\uF612'),
        cmd_weather_cloudy('\uF590'),
        cmd_weather_fog('\uF591'),
        cmd_weather_hail('\uF592'),
        cmd_weather_lightning('\uF593'),
        cmd_weather_night('\uF594'),
        cmd_weather_partlycloudy('\uF595'),
        cmd_weather_pouring('\uF596'),
        cmd_weather_rainy('\uF597'),
        cmd_weather_snowy('\uF598'),
        cmd_weather_sunny('\uF599'),
        cmd_weather_sunset('\uF59A'),
        cmd_weather_sunset_down('\uF59B'),
        cmd_weather_sunset_up('\uF59C'),
        cmd_weather_windy('\uF59D'),
        cmd_weather_windy_variant('\uF59E'),
        cmd_web('\uF59F'),
        cmd_webcam('\uF5A0'),
        cmd_wechat('\uF611'),
        cmd_weight('\uF5A1'),
        cmd_weight_kilogram('\uF5A2'),
        cmd_whatsapp('\uF5A3'),
        cmd_wheelchair_accessibility('\uF5A4'),
        cmd_white_balance_auto('\uF5A5'),
        cmd_white_balance_incandescent('\uF5A6'),
        cmd_white_balance_irradescent('\uF5A7'),
        cmd_white_balance_sunny('\uF5A8'),
        cmd_wifi('\uF5A9'),
        cmd_wifi_off('\uF5AA'),
        cmd_wii('\uF5AB'),
        cmd_wikipedia('\uF5AC'),
        cmd_window_close('\uF5AD'),
        cmd_window_closed('\uF5AE'),
        cmd_window_maximize('\uF5AF'),
        cmd_window_minimize('\uF5B0'),
        cmd_window_open('\uF5B1'),
        cmd_window_restore('\uF5B2'),
        cmd_windows('\uF5B3'),
        cmd_wordpress('\uF5B4'),
        cmd_worker('\uF5B5'),
        cmd_wrap('\uF5B6'),
        cmd_wrench('\uF5B7'),
        cmd_wunderlist('\uF5B8'),
        cmd_xbox('\uF5B9'),
        cmd_xbox_controller('\uF5BA'),
        cmd_xbox_controller_off('\uF5BB'),
        cmd_xda('\uF5BC'),
        cmd_xing('\uF5BD'),
        cmd_xing_box('\uF5BE'),
        cmd_xing_circle('\uF5BF'),
        cmd_xml('\uF5C0'),
        cmd_yeast('\uF5C1'),
        cmd_yelp('\uF5C2'),
        cmd_youtube_play('\uF5C3'),
        cmd_zip_box('\uF5C4');

        char character;

        Icon(char character) {
            this.character = character;
        }

        public String getFormattedName() {
            return "{" + name() + "}";
        }

        public char getCharacter() {
            return character;
        }

        public String getName() {
            return name();
        }

        // remember the typeface so we can use it later
        private static ITypeface typeface;

        public ITypeface getTypeface() {
            if (typeface == null) {
                typeface = new CommunityMaterial();
            }
            return typeface;
        }
    }
}
